package com.wzdigit.wms.basic.domain.transfer;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;

import com.wzdigit.framework.orm.model.BasicDomain;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 移库单表头
 * </p>
 *
 * @author 
 * @since 2021-04-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("WMS_MOVEMENT_HEADER")
@KeySequence(value = "WMS_MOVEMENT_HEADER_SEQ", clazz = Integer.class)
public class MovementHeader extends BasicDomain {

    private static final long serialVersionUID = 1L;

    /**
     * 移库单头ID
     */
    @TableId("MOVEMENT_HEADER_ID")
    private Integer movementHeaderId;

    /**
     * 移库单号
     */
    @TableField("MOVEMENT_NO")
    private String movementNo;

    /**
     * 调拨单类型
     */
    @TableField("MOVEMENT_TYPE")
    private String movementType;

    /**
     * ERP移动类型
     */
    @TableField("ERP_MOVE_TYPE")
    private String erpMoveType;

    /**
     * 移库原因代码
     */
    @TableField("REASON_CODE")
    private Integer reasonCode;

    /**
     * 移库原因
     */
    @TableField("REASON")
    private String reason;

    /**
     * 来源单号
     */
    @TableField("SOURCE_NO")
    private String sourceNo;

    /**
     * 来源仓库
     */
    @TableField("WHS_ID")
    private Integer whsId;

    /**
     * 数据来源
     */
    @TableField("DATA_SOURCE")
    private String dataSource;

    /**
     * 移库单参考信息1
     */
    @TableField("MOVEMENT_REF1")
    private String movementRef1;

    /**
     * 移库单参考信息2
     */
    @TableField("MOVEMENT_REF2")
    private String movementRef2;

    /**
     * 移库单参考信息3
     */
    @TableField("MOVEMENT_REF3")
    private String movementRef3;

    /**
     * 移库单参考信息4
     */
    @TableField("MOVEMENT_REF4")
    private String movementRef4;

    /**
     * 移库单参考信息5
     */
    @TableField("MOVEMENT_REF5")
    private String movementRef5;

    /**
     * 用户自定义字段1
     */
    @TableField("UDF1")
    private String udf1;

    /**
     * 用户自定义字段2
     */
    @TableField("UDF2")
    private String udf2;

    /**
     * 用户自定义字段3
     */
    @TableField("UDF3")
    private String udf3;

    /**
     * 用户自定义字段4
     */
    @TableField("UDF4")
    private String udf4;

    /**
     * 用户自定义字段5
     */
    @TableField("UDF5")
    private String udf5;

    /**
     * 备注
     */
    @TableField("COMMENTS")
    private String comments;

    /**
     * ASN 状态 － 该单证当前状态。系统提供 ASN 创建、已码盘、部分收货、完全收货、
订单取消、ASN 完成等状态。在创建一个新的 ASN 时，ASN 状态默认为 ASN 创建，系统
会根据 ASN 操作情况自动更新。
     */
    @TableField("STATUS")
    private Integer status;


}
